/**
  @file drv_app_mem_module.c

  @date 2010-02-26

  @version v5.1

  The file implement driver acc IOCTL defines and macros
*/

#include "sal.h"
#include "drv_api.h"
#include "usw/include/drv_app.h"
#include "usw/include/drv_ftm.h"
#include "usw/include/drv_common.h"
#include "usw/include/drv_error.h"
#include "usw/include/drv_enum.h"
#include "usw/include/drv_sdb.h"
#include "usw/include/drv_io.h"
#include "dal.h"

#if (SDB_MEM_MODEL == SDB_MODE || MCHIP_SIM == 1)
/**********************************************************************************
              Define Gloabal var, Typedef, define and Data Structure
***********************************************************************************/
#define MAX_KEY_BYTE 80

enum hash_module_e
{
    HASH_MODULE_EGRESS_SCL0,
    HASH_MODULE_EGRESS_SCL1,
    HASH_MODULE_RMEP,
    HASH_MODULE_FIB_HOST0,
    HASH_MODULE_FIB_HOST1,
    HASH_MODULE_FLOW,
    HASH_MODULE_GEMPORT,
    HASH_MODULE_INGRESS_IPFIX,
    HASH_MODULE_MPLS,
    HASH_MODULE_OAM,
    HASH_MODULE_QUEUEMAP,
    HASH_MODULE_USERID,
    HASH_MODULE_USERID1,
    HASH_MODULE_CID,
    HASH_MODULE_EGRESS_IPFIX,
    HASH_MODULE_XLOOKUP0,
    HASH_MODULE_XLOOKUP1,
    HASH_MODULE_XSEC_RX,
    HASH_MODULE_XSEC_TX,
    HASH_MODULE_NUM,
};
typedef enum hash_module_e hash_module_t;

#define HASH_MIX(a, b, c)        \
    {                                         \
        a -= b; a -= c; a ^= (c >> 13);           \
        b -= c; b -= a; b ^= (a << 8);            \
        c -= a; c -= b; c ^= (b >> 13);           \
        a -= b; a -= c; a ^= (c >> 12);           \
        b -= c; b -= a; b ^= (a << 16);           \
        c -= a; c -= b; c ^= (b >> 5);            \
        a -= b; a -= c; a ^= (c >> 3);            \
        b -= c; b -= a; b ^= (a << 10);           \
        c -= a; c -= b; c ^= (b >> 15);           \
    }                                         \



uint32
drv_usw_hash_caculate(uint32 size, void* kk)
{
    uint32 len = 0;
    uint32 a = 0x9e3779b9;
    uint32 b = 0x9e3779b9;
    uint32 c = 0;
    uint8* h = (uint8*) kk;

    len = size;

    while (len >= 12)
    {
        a += (h[0] + ((uint32)h[1] << 8) + ((uint32)h[2] << 16) + ((uint32)h[3] << 24));
        b += (h[4] + ((uint32)h[5] << 8) + ((uint32)h[6] << 16) + ((uint32)h[7] << 24));
        c += (h[8] + ((uint32)h[9] << 8) + ((uint32)h[10] << 16) + ((uint32)h[11] << 24));
        HASH_MIX(a, b, c);
        h += 12;
        len -= 12;
    }
    c += size;

    while (len >= 1)
    {
        if (9 <= len)
        {
            c += ((uint32)h[len-1] << ((len-8)<<3));
        }
        else if ( len >= 5 && len <= 8)
        {
            b += ((uint32)h[len-1] << ((len-5)<<3));
        }
        else
        {
            a += ((uint32)h[len-1] << ((len-1)<<3));
        }
        len--;
    }
    HASH_MIX(a, b, c);

    return c;
}

struct drv_hash_key_mask_info_s {
    uint32 hash_type;
    tbls_id_t key_table_id;
    uint32 align_unit;
    uint8  mask[MAX_KEY_BYTE];
};
typedef struct drv_hash_key_mask_info_s drv_hash_key_mask_info_t;

struct drv_hash_db_s {
    uint32 key_num;
    drv_hash_key_mask_info_t *key_mask_ad;
    tbls_id_t hash_type_table_id;
    fld_id_t hash_type_field_id;
    uint8 min_unit;
    uint8 hash_valid_field;
};
typedef struct drv_hash_db_s drv_hash_db_t;


#define   C_EGRESSSCLHASHTYPE_DISABLE                  0x0
#define   C_EGRESSSCLHASHTYPE_DOUBLEVLANPORT           0x1
#define   C_EGRESSSCLHASHTYPE_SVLANPORT                0x2
#define   C_EGRESSSCLHASHTYPE_CVLANPORT                0x3
#define   C_EGRESSSCLHASHTYPE_SVLANCOSPORT             0x4
#define   C_EGRESSSCLHASHTYPE_CVLANCOSPORT             0x5
#define   C_EGRESSSCLHASHTYPE_PORTVLANCROSS            0x6
#define   C_EGRESSSCLHASHTYPE_PORTCROSS                0x7
#define   C_EGRESSSCLHASHTYPE_PORT                     0x8
#define   C_EGRESSSCLHASHTYPE_SVLANPORTMAC             0x9
#define   C_EGRESSSCLHASHTYPE_FIDDVP                   0xa
#define   C_EGRESSSCLHASHTYPE_FIDDVPGROUP              0xb
#define   C_EGRESSSCLHASHTYPE_VPPAIR                   0xc
#define   C_EGRESSSCLHASHTYPE_METADATADVPGROUP         0xd
#define   C_EGRESSSCLHASHTYPE_I2ECIDDVPGROUP           0xe
#define   C_EGRESSSCLHASHTYPE_METADATADVP              0xf


#define   C_ETHOAMRMEPHASHTYPE_RMEP                    0x0


#define   C_FIBHOST0HASHTYPE_FCOE                      0x0
#define   C_FIBHOST0HASHTYPE_IPV4                      0x1
#define   C_FIBHOST0HASHTYPE_IPV6MCAST                 0x2
#define   C_FIBHOST0HASHTYPE_IPV6UCAST                 0x3
#define   C_FIBHOST0HASHTYPE_MAC                       0x4
#define   C_FIBHOST0HASHTYPE_MACIPV6MCAST              0x5
#define   C_FIBHOST0HASHTYPE_TRILL                     0x6
#define   C_FIBHOST0HASHTYPE_MACIPV4MCAST              0x7


#define   C_FIBHOST0L2HASHTYPE_MAC                     0x0
#define   C_FIBHOST0L2HASHTYPE_NOMAC                   0x1


#define   C_FIBHOST0L3HASHTYPE_FCOE                    0x0
#define   C_FIBHOST0L3HASHTYPE_IPV4UCAST               0x1
#define   C_FIBHOST0L3HASHTYPE_IPV4MCAST               0x2
#define   C_FIBHOST0L3HASHTYPE_IPV6UCAST               0x3
#define   C_FIBHOST0L3HASHTYPE_IPV6MCAST               0x4
#define   C_FIBHOST0L3HASHTYPE_TRILLUCAST              0x5
#define   C_FIBHOST0L3HASHTYPE_TRILLMCAST              0x6


#define   C_FIBHOST0PRIMARYHASHTYPE_FCOE               0x0
#define   C_FIBHOST0PRIMARYHASHTYPE_IPV4               0x1
#define   C_FIBHOST0PRIMARYHASHTYPE_IPV6MCAST          0x2
#define   C_FIBHOST0PRIMARYHASHTYPE_IPV6UCAST          0x3
#define   C_FIBHOST0PRIMARYHASHTYPE_MAC                0x4
#define   C_FIBHOST0PRIMARYHASHTYPE_MACIPV6MCAST       0x5
#define   C_FIBHOST0PRIMARYHASHTYPE_TRILL              0x6
#define C_FIBHOST0PRIMARYHASHTYPE_MACIPV4MCAST  0x7

#define   C_FIBHOST1HASHTYPE_FCOERPF                   0x0
#define   C_FIBHOST1HASHTYPE_IPV4MCAST                 0x1
#define   C_FIBHOST1HASHTYPE_IPV4NATDAPORT             0x2
#define   C_FIBHOST1HASHTYPE_IPV4NATSAPORT             0x3
#define   C_FIBHOST1HASHTYPE_IPV6MCAST                 0x4
#define   C_FIBHOST1HASHTYPE_IPV6NATDAPORT             0x5
#define   C_FIBHOST1HASHTYPE_IPV6NATSAPORT             0x6
#define   C_FIBHOST1HASHTYPE_MACIPV4MCAST              0x7
#define   C_FIBHOST1HASHTYPE_MACIPV6MCAST              0x8
#define   C_FIBHOST1HASHTYPE_TRILLMCASTVLAN            0x9


#define   C_FIBHOST1PRIMARYHASHTYPE_IPV4               0x0
#define   C_FIBHOST1PRIMARYHASHTYPE_IPV6NATDA          0x1
#define   C_FIBHOST1PRIMARYHASHTYPE_IPV6NATSA          0x2
#define   C_FIBHOST1PRIMARYHASHTYPE_OTHER              0x3


#define   C_FLOWHASHTYPE_INVALID                       0x0
#define   C_FLOWHASHTYPE_L2                            0x1
#define   C_FLOWHASHTYPE_L2L3                          0x2
#define   C_FLOWHASHTYPE_L3IPV4                        0x3
#define   C_FLOWHASHTYPE_L3IPV6                        0x4
#define   C_FLOWHASHTYPE_L3MPLS                        0x5
#define   C_FLOWHASHTYPE_FLEX                          0x6
#define   C_FLOWHASHTYPE_NSHFORWARD                    0x7

#define   C_GEMHASHTYPE_PORT                           0x1

#define   C_IPFIXHASHTYPE_INVALID                      0x0
#define   C_IPFIXHASHTYPE_L2                           0x1
#define   C_IPFIXHASHTYPE_L2L3                         0x2
#define   C_IPFIXHASHTYPE_L3IPV4                       0x3
#define   C_IPFIXHASHTYPE_L3IPV6                       0x4
#define   C_IPFIXHASHTYPE_L3MPLS                       0x5
#define   C_IPFIXHASHTYPE_L3IPV4SHORT                  0x6
#define   C_IPFIXHASHTYPE_L3IPV6SHORT                  0x7
#define   C_IPFIXHASHTYPE_UDFSHORT                     0x3
#define   C_IPFIXHASHTYPE_UDF                          0x7
#define   C_IPFIXHASHTYPE_NSH                          0xa
#define   C_IPFIXHASHTYPE_NSHSHORT                     0xb

#define   C_MPLSHASHTYPE_LABEL                         0x0


#define   C_OAMHASHTYPE_DISABLE                        0x0
#define   C_OAMHASHTYPE_ETH                            0x1
#define   C_OAMHASHTYPE_BFD                            0x2
#define   C_OAMHASHTYPE_MPLSLABEL                      0x3
#define   C_OAMHASHTYPE_MPLSSECTION                    0x4


#define   C_QUEUEMAPHASHTYPE_DSQUEUEMAPHASHKEY         0x0

#define   C_USERIDHASHTYPE_DISABLE                     0x0
#define   C_USERIDHASHTYPE_DOUBLEVLANPORT              0x1
#define   C_USERIDHASHTYPE_SVLANPORT                   0x2
#define   C_USERIDHASHTYPE_CVLANPORT                   0x3
#define   C_USERIDHASHTYPE_SVLANCOSPORT                0x4
#define   C_USERIDHASHTYPE_CVLANCOSPORT                0x5
#define   C_USERIDHASHTYPE_MACPORT                     0x6
#define   C_USERIDHASHTYPE_IPV4PORT                    0x7
#define   C_USERIDHASHTYPE_MAC                         0x8
#define   C_USERIDHASHTYPE_IPV4SA                      0x9
#define   C_USERIDHASHTYPE_PORT                        0xa
#define   C_USERIDHASHTYPE_SVLANMACSA                  0xb
#define   C_USERIDHASHTYPE_SVLAN                       0xc
#define   C_USERIDHASHTYPE_ECIDNAMESPACE               0xd
#define   C_USERIDHASHTYPE_INGECIDNAMESPACE            0xe
#define   C_USERIDHASHTYPE_IPV6SA                      0xf
#define   C_USERIDHASHTYPE_IPV6PORT                    0x10
#define   C_USERIDHASHTYPE_IPV4DA                      0x11
#define   C_USERIDHASHTYPE_IPV6DA                      0x12
#define   C_USERIDHASHTYPE_VLANPORTDSCP                0x13
#define   C_USERIDHASHTYPE_NSH                         0x14
#define   C_USERIDHASHTYPE_TUNNELIPV4                  0x15
#define   C_USERIDHASHTYPE_TUNNELIPV4GREKEY            0x16
#define   C_USERIDHASHTYPE_TUNNELIPV4UDP               0x17
#define   C_USERIDHASHTYPE_RESERVED_5                  0x18
#define   C_USERIDHASHTYPE_TUNNELTRILLUCRPF            0x19
#define   C_USERIDHASHTYPE_TUNNELTRILLUCDECAP          0x1a
#define   C_USERIDHASHTYPE_TUNNELTRILLMCRPF            0x1b
#define   C_USERIDHASHTYPE_TUNNELTRILLMCDECAP          0x1c
#define   C_USERIDHASHTYPE_TUNNELTRILLMCADJ            0x1d
#define   C_USERIDHASHTYPE_TUNNELIPV4RPF               0x1e
#define   C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE0      0x1f
#define   C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE1      0x20
#define   C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE0      0x21
#define   C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE1      0x22
#define   C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE0      0x23
#define   C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE1      0x24
#define   C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE0      0x25
#define   C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE1      0x26
#define   C_USERIDHASHTYPE_TUNNELIPV4MCVXLANMODE0      0x27
#define   C_USERIDHASHTYPE_TUNNELIPV4VXLANMODE1        0x28
#define   C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE0      0x29
#define   C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE1      0x2a
#define   C_USERIDHASHTYPE_TUNNELIPV4MCNVGREMODE0      0x2b
#define   C_USERIDHASHTYPE_TUNNELIPV4NVGREMODE1        0x2c
#define   C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE0      0x2d
#define   C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE1      0x2e
#define   C_USERIDHASHTYPE_RESERVED_6                  0x2f
#define   C_USERIDHASHTYPE_RESERVED_7                  0x30
#define   C_USERIDHASHTYPE_RESERVED_8                  0x31
#define   C_USERIDHASHTYPE_RESERVED_9                  0x32
#define   C_USERIDHASHTYPE_TUNNELIPV6                  0x33
#define   C_USERIDHASHTYPE_TUNNELIPV6GREKEY            0x34
#define   C_USERIDHASHTYPE_TUNNELIPV6UDP               0x35
#define   C_USERIDHASHTYPE_TUNNELIPV6DA                0x36
#define   C_USERIDHASHTYPE_TUNNELIPV4DA                0x37
#define   C_USERIDHASHTYPE_TUNNELIPV4CLOUDSEC          0x38
#define   C_USERIDHASHTYPE_TUNNELIPV6CLOUDSEC          0x39
#define   C_USERIDHASHTYPE_SCLFLOWL2                   0x3a
#define   C_USERIDHASHTYPE_SCLFLOWL2UDF                0x3b
#define   C_USERIDHASHTYPE_SCLFLOWL3UDF                0x3c
#define   C_USERIDHASHTYPE_SCLFLOWPKTL2                0x3d
#define   C_USERIDHASHTYPE_SCLFLOWPKTL3                0x3e
#define   C_USERIDHASHTYPE_SCLFLOWPKTL4                0x3f


#define   C_USERIDPORTHASHTYPE_DISABLE                 0x0
#define   C_USERIDPORTHASHTYPE_DOUBLEVLANPORT          0x1
#define   C_USERIDPORTHASHTYPE_SVLANPORT               0x2
#define   C_USERIDPORTHASHTYPE_CVLANPORT               0x3
#define   C_USERIDPORTHASHTYPE_SVLANCOSPORT            0x4
#define   C_USERIDPORTHASHTYPE_CVLANCOSPORT            0x5
#define   C_USERIDPORTHASHTYPE_MACPORT                 0x6
#define   C_USERIDPORTHASHTYPE_IPSAPORT                0x7
#define   C_USERIDPORTHASHTYPE_MAC                     0x8
#define   C_USERIDPORTHASHTYPE_IPSA                    0x9
#define   C_USERIDPORTHASHTYPE_PORT                    0xa
#define   C_USERIDPORTHASHTYPE_SVLANMACSA              0xb
#define   C_USERIDPORTHASHTYPE_SVLAN                   0xc
#define   C_USERIDPORTHASHTYPE_ECIDNAMESPACE           0xd
#define   C_USERIDPORTHASHTYPE_INGECIDNAMESPACE        0xe
#define   C_USERIDPORTHASHTYPE_IPDA                    0x11
#define   C_USERIDPORTHASHTYPE_VLANPORTDSCP            0x13
#define   C_USERIDPORTHASHTYPE_TUNNEL                  0x1d
#define   C_USERIDPORTHASHTYPE_SCLFLOW                 0x1e
#define   C_USERIDPORTHASHTYPE_TRILL                   0x1f

#define   C_XLOOKUP0HASHTYPE_DSXLOOKUP0HASHKEY         0x0
#define   C_XLOOKUP0HASHTYPE_RESERVED                  0x1

#define   C_XLOOKUP1HASHTYPE_DSXLOOKUP1HASHKEY         0x0
#define   C_XLOOKUP1HASHTYPE_RESERVED                  0x1

#define   C_XSECRXHASHTYPE_NONE                        0x0
#define   C_XSECRXHASHTYPE_L2BASIC                     0x1
#define   C_XSECRXHASHTYPE_L2MACSEC                    0x2
#define   C_XSECRXHASHTYPE_L3L4V4                      0x3
#define   C_XSECRXHASHTYPE_L3L4V6                      0x4
#define   C_XSECRXHASHTYPE_SPI                         0x5

#define   C_XSECTXHASHTYPE_NONE                        0x0
#define   C_XSECTXHASHTYPE_L2BASIC                     0x1
#define   C_XSECTXHASHTYPE_RSV                         0x2
#define   C_XSECTXHASHTYPE_L3L4V4                      0x3
#define   C_XSECTXHASHTYPE_L3L4V6                      0x4
#define   C_XSECTXHASHTYPE_SPI                         0x5
#ifdef ARCTIC
drv_hash_key_mask_info_t  egress_scl0_key_at[]= { // KEY
         {
            C_EGRESSSCLHASHTYPE_CVLANCOSPORT,
            DsEgressScl0CvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_CVLANPORT,
            DsEgressScl0CvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_DOUBLEVLANPORT,
            DsEgressScl0DoubleVlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTCROSS,
            DsEgressScl0PortCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORT,
            DsEgressScl0PortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTVLANCROSS,
            DsEgressScl0PortVlanCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANCOSPORT,
            DsEgressScl0SvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORTMAC,
            DsEgressScl0SvlanPortMacHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORT,
            DsEgressScl0SvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVP,
            DsEgressScl0FidDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_VPPAIR,
            DsEgressScl0VpPairHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVPGROUP,
            DsEgressScl0FidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVPGROUP,
            DsEgressScl0MetadataDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_I2ECIDDVPGROUP,
            DsEgressScl0I2eCidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVP,
            DsEgressScl0MetadataDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  egress_scl1_key_at[]= { // KEY
         {
            C_EGRESSSCLHASHTYPE_CVLANCOSPORT,
            DsEgressScl1CvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_CVLANPORT,
            DsEgressScl1CvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_DOUBLEVLANPORT,
            DsEgressScl1DoubleVlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTCROSS,
            DsEgressScl1PortCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORT,
            DsEgressScl1PortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTVLANCROSS,
            DsEgressScl1PortVlanCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANCOSPORT,
            DsEgressScl1SvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORTMAC,
            DsEgressScl1SvlanPortMacHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORT,
            DsEgressScl1SvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVP,
            DsEgressScl1FidDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_VPPAIR,
            DsEgressScl1VpPairHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVPGROUP,
            DsEgressScl1FidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVPGROUP,
            DsEgressScl1MetadataDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_I2ECIDDVPGROUP,
            DsEgressScl1I2eCidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVP,
            DsEgressScl1MetadataDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  eth_oam_rmep_key_at[]= { // KEY
         {
            C_ETHOAMRMEPHASHTYPE_RMEP,
            DsEthOamRmepRmepHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0x07,0x00},
         },
      };
drv_hash_key_mask_info_t  fib_host0_key_at[]= { // KEY
         {
            C_FIBHOST0HASHTYPE_FCOE,
            DsFibHost0FcoeHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST0HASHTYPE_IPV4,
            DsFibHost0Ipv4HashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0xE0,0xFF,0xFF},
         },
         {
            C_FIBHOST0HASHTYPE_IPV6MCAST,
            DsFibHost0Ipv6McastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x80,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST0HASHTYPE_IPV6UCAST,
            DsFibHost0Ipv6UcastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST0HASHTYPE_MAC,
            DsFibHost0MacHashKey_t,
            1,
            {0x0F,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FIBHOST0HASHTYPE_TRILL,
            DsFibHost0TrillHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST0HASHTYPE_MACIPV6MCAST,
            DsFibHost0MacIpv6McastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00},
         },
         {
            C_FIBHOST0HASHTYPE_MACIPV4MCAST,
            DsFibHost0MacIpv4McastHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xC0},
         },
         {
            C_FIBHOST0HASHTYPE_IPV6UCAST,
            DsFibHost0Ipv6SingleHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0xE0,0xFF,0xFF},
        },
      };
drv_hash_key_mask_info_t  fib_host1_key_at[]= { // KEY
         {
            C_FIBHOST1HASHTYPE_FCOERPF,
            DsFibHost1FcoeRpfHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4MCAST,
            DsFibHost1Ipv4McastHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4NATDAPORT,
            DsFibHost1Ipv4NatDaPortHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4NATSAPORT,
            DsFibHost1Ipv4NatSaPortHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6MCAST,
            DsFibHost1Ipv6McastHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6NATDAPORT,
            DsFibHost1Ipv6NatDaPortHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6NATSAPORT,
            DsFibHost1Ipv6NatSaPortHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_MACIPV4MCAST,
            DsFibHost1MacIpv4McastHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_MACIPV6MCAST,
            DsFibHost1MacIpv6McastHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FIBHOST1HASHTYPE_TRILLMCASTVLAN,
            DsFibHost1TrillMcastVlanHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
      };
drv_hash_key_mask_info_t  flow_key_at[]= { // KEY
         {
            C_FLOWHASHTYPE_L2,
            DsFlowL2HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_L2L3,
            DsFlowL2L3HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_L3IPV4,
            DsFlowL3Ipv4HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_L3IPV6,
            DsFlowL3Ipv6HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_L3MPLS,
            DsFlowL3MplsHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_FLEX,
            DsFlowFlexHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_FLOWHASHTYPE_NSHFORWARD,
            DsFlowNshForwardHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
     };
drv_hash_key_mask_info_t ipfix_key_0_at[]= { // KEY
         {
            C_IPFIXHASHTYPE_L2,
            DsIpfixL2HashKey0_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L2L3,
            DsIpfixL2L3HashKey0_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4,
            DsIpfixL3Ipv4HashKey0_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6,
            DsIpfixL3Ipv6HashKey0_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3MPLS,
            DsIpfixL3MplsHashKey0_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4SHORT,
            DsIpfixL3Ipv4ShortHashKey0_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6SHORT,
            DsIpfixL3Ipv6ShortHashKey0_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_UDF,
            DsIpfixUdfHashKey0_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_UDFSHORT,
            DsIpfixUdfShortHashKey0_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_IPFIXHASHTYPE_NSH,
            DsIpfixNshHashKey0_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_NSHSHORT,
            DsIpfixNshShortHashKey0_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
    };
drv_hash_key_mask_info_t ipfix_key_1_at[]= { // KEY
         {
            C_IPFIXHASHTYPE_L2,
            DsIpfixL2HashKey1_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L2L3,
            DsIpfixL2L3HashKey1_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4,
            DsIpfixL3Ipv4HashKey1_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6,
            DsIpfixL3Ipv6HashKey1_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3MPLS,
            DsIpfixL3MplsHashKey1_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4SHORT,
            DsIpfixL3Ipv4ShortHashKey1_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6SHORT,
            DsIpfixL3Ipv6ShortHashKey1_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_UDF,
            DsIpfixUdfHashKey1_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_IPFIXHASHTYPE_UDFSHORT,
            DsIpfixUdfShortHashKey1_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_IPFIXHASHTYPE_NSH,
            DsIpfixNshHashKey1_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_NSHSHORT,
            DsIpfixNshShortHashKey1_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
      };
drv_hash_key_mask_info_t  mpls_key_at[]= { // KEY
         {
            C_MPLSHASHTYPE_LABEL,
            DsMplsLabelHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0x07},
         },
      };
drv_hash_key_mask_info_t  oam_key_at[]= { // KEY
         {
            C_OAMHASHTYPE_BFD,
            DsOamBfdHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x03},
         },
         {
            C_OAMHASHTYPE_ETH,
            DsOamEthHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_OAMHASHTYPE_MPLSLABEL,
            DsOamMplsLabelHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_OAMHASHTYPE_MPLSSECTION,
            DsOamMplsSectionHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
      };
drv_hash_key_mask_info_t  user_id0_key_at[]= { // KEY
         {
            C_USERIDHASHTYPE_CVLANCOSPORT,
            DsUserIdCvlanCosPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_CVLANPORT,
            DsUserIdCvlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_DOUBLEVLANPORT,
            DsUserIdDoubleVlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_ECIDNAMESPACE,
            DsUserIdEcidNameSpaceHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_INGECIDNAMESPACE,
            DsUserIdIngEcidNameSpaceHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4PORT,
            DsUserIdIpv4PortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4SA,
            DsUserIdIpv4SaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6PORT,
            DsUserIdIpv6PortHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6SA,
            DsUserIdIpv6SaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_MAC,
            DsUserIdMacHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_MACPORT,
            DsUserIdMacPortHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_PORT,
            DsUserIdPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2,
            DsUserIdSclFlowL2HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANCOSPORT,
            DsUserIdSvlanCosPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLAN,
            DsUserIdSvlanHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANMACSA,
            DsUserIdSvlanMacSaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANPORT,
            DsUserIdSvlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4DA,
            DsUserIdTunnelIpv4DaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4GREKEY,
            DsUserIdTunnelIpv4GreKeyHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4,
            DsUserIdTunnelIpv4HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCNVGREMODE0,
            DsUserIdTunnelIpv4McNvgreMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCVXLANMODE0,
            DsUserIdTunnelIpv4McVxlanMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4NVGREMODE1,
            DsUserIdTunnelIpv4NvgreMode1HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4RPF,
            DsUserIdTunnelIpv4RpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE0,
            DsUserIdTunnelIpv4UcNvgreMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE1,
            DsUserIdTunnelIpv4UcNvgreMode1HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE0,
            DsUserIdTunnelIpv4UcVxlanMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE1,
            DsUserIdTunnelIpv4UcVxlanMode1HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UDP,
            DsUserIdTunnelIpv4UdpHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4VXLANMODE1,
            DsUserIdTunnelIpv4VxlanMode1HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE0,
            DsUserIdTunnelIpv6McNvgreMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE1,
            DsUserIdTunnelIpv6McNvgreMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE0,
            DsUserIdTunnelIpv6McVxlanMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE1,
            DsUserIdTunnelIpv6McVxlanMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE0,
            DsUserIdTunnelIpv6UcNvgreMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE1,
            DsUserIdTunnelIpv6UcNvgreMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE0,
            DsUserIdTunnelIpv6UcVxlanMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE1,
            DsUserIdTunnelIpv6UcVxlanMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCADJ,
            DsUserIdTunnelTrillMcAdjHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCDECAP,
            DsUserIdTunnelTrillMcDecapHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCRPF,
            DsUserIdTunnelTrillMcRpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCDECAP,
            DsUserIdTunnelTrillUcDecapHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCRPF,
            DsUserIdTunnelTrillUcRpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2UDF,
            DsUserIdSclFlowL2UDFHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL3UDF,
            DsUserIdSclFlowL3UDFHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL2,
            DsUserIdSclFlowPktL2HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL3,
            DsUserIdSclFlowPktL3HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL4,
            DsUserIdSclFlowPktL4HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4CLOUDSEC,
            DsUserIdTunnelIpv4CloudSecHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6CLOUDSEC,
            DsUserIdTunnelIpv6CloudSecHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6,
            DsUserIdTunnelIpv6HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6DA,
            DsUserIdTunnelIpv6DaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6GREKEY,
            DsUserIdTunnelIpv6GreKeyHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_VLANPORTDSCP,
            DsUserIdVlanPortDscpHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6DA,
            DsUserIdIpv6DaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4DA,
            DsUserIdIpv4DaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UDP,
            DsUserIdTunnelIpv6UdpHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_NSH,
            DsUserId0NshHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
      };
drv_hash_key_mask_info_t  user_id1_key_at[]= { // KEY
         {
            C_USERIDHASHTYPE_CVLANCOSPORT,
            DsUserId1CvlanCosPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_CVLANPORT,
            DsUserId1CvlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_DOUBLEVLANPORT,
            DsUserId1DoubleVlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_ECIDNAMESPACE,
            DsUserId1EcidNameSpaceHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_INGECIDNAMESPACE,
            DsUserId1IngEcidNameSpaceHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4PORT,
            DsUserId1Ipv4PortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4SA,
            DsUserId1Ipv4SaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6PORT,
            DsUserId1Ipv6PortHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6SA,
            DsUserId1Ipv6SaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_MAC,
            DsUserId1MacHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_MACPORT,
            DsUserId1MacPortHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_PORT,
            DsUserId1PortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2,
            DsUserId1SclFlowL2HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANCOSPORT,
            DsUserId1SvlanCosPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLAN,
            DsUserId1SvlanHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANMACSA,
            DsUserId1SvlanMacSaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SVLANPORT,
            DsUserId1SvlanPortHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4DA,
            DsUserId1TunnelIpv4DaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4GREKEY,
            DsUserId1TunnelIpv4GreKeyHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4,
            DsUserId1TunnelIpv4HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCNVGREMODE0,
            DsUserId1TunnelIpv4McNvgreMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCVXLANMODE0,
            DsUserId1TunnelIpv4McVxlanMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4NVGREMODE1,
            DsUserId1TunnelIpv4NvgreMode1HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4RPF,
            DsUserId1TunnelIpv4RpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE0,
            DsUserId1TunnelIpv4UcNvgreMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE1,
            DsUserId1TunnelIpv4UcNvgreMode1HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE0,
            DsUserId1TunnelIpv4UcVxlanMode0HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE1,
            DsUserId1TunnelIpv4UcVxlanMode1HashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UDP,
            DsUserId1TunnelIpv4UdpHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4VXLANMODE1,
            DsUserId1TunnelIpv4VxlanMode1HashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE0,
            DsUserId1TunnelIpv6McNvgreMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE1,
            DsUserId1TunnelIpv6McNvgreMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE0,
            DsUserId1TunnelIpv6McVxlanMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE1,
            DsUserId1TunnelIpv6McVxlanMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE0,
            DsUserId1TunnelIpv6UcNvgreMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE1,
            DsUserId1TunnelIpv6UcNvgreMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE0,
            DsUserId1TunnelIpv6UcVxlanMode0HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE1,
            DsUserId1TunnelIpv6UcVxlanMode1HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCADJ,
            DsUserId1TunnelTrillMcAdjHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCDECAP,
            DsUserId1TunnelTrillMcDecapHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCRPF,
            DsUserId1TunnelTrillMcRpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCDECAP,
            DsUserId1TunnelTrillUcDecapHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCRPF,
            DsUserId1TunnelTrillUcRpfHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2UDF,
            DsUserId1SclFlowL2UDFHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL3UDF,
            DsUserId1SclFlowL3UDFHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL2,
            DsUserId1SclFlowPktL2HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL3,
            DsUserId1SclFlowPktL3HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL4,
            DsUserId1SclFlowPktL4HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4CLOUDSEC,
            DsUserId1TunnelIpv4CloudSecHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6CLOUDSEC,
            DsUserId1TunnelIpv6CloudSecHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6,
            DsUserId1TunnelIpv6HashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6DA,
            DsUserId1TunnelIpv6DaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6GREKEY,
            DsUserId1TunnelIpv6GreKeyHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_VLANPORTDSCP,
            DsUserId1VlanPortDscpHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UDP,
            DsUserId1TunnelIpv6UdpHashKey_t,
            4,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV4DA,
            DsUserId1Ipv4DaHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_IPV6DA,
            DsUserId1Ipv6DaHashKey_t,
            2,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_USERIDHASHTYPE_NSH,
            DsUserId1NshHashKey_t,
            1,
            {0xFF,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
      };

drv_hash_key_mask_info_t  x_lookup0_key_at[]= { // KEY
         {
            C_XLOOKUP0HASHTYPE_DSXLOOKUP0HASHKEY,
            DsXLookup0HashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_XLOOKUP0HASHTYPE_RESERVED,
            DsXLookup0MutationHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  x_lookup1_key_at[]= { // KEY
         {
            C_XLOOKUP1HASHTYPE_DSXLOOKUP1HASHKEY,
            DsXLookup1HashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  x_sec_rx_key_at[]= { // KEY
         {
            C_XSECRXHASHTYPE_L2BASIC,
            DsXSecRxL2BasicHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_XSECRXHASHTYPE_L2MACSEC,
            DsXSecRxL2MacsecHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_XSECRXHASHTYPE_L3L4V4,
            DsXSecRxL3L4V4HashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_XSECRXHASHTYPE_L3L4V6,
            DsXSecRxL3L4V6HashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_XSECRXHASHTYPE_SPI,
            DsXSecRxSpiHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
      };
drv_hash_key_mask_info_t  x_sec_tx_key_at[]= { // KEY
         {
            C_XSECTXHASHTYPE_L2BASIC,
            DsXSecTxL2BasicHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_XSECTXHASHTYPE_L3L4V4,
            DsXSecTxL3L4V4HashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_XSECTXHASHTYPE_L3L4V6,
            DsXSecTxL3L4V6HashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_XSECTXHASHTYPE_SPI,
            DsXSecTxSpiHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
      };
drv_hash_db_t drv_hash_db[] ={
   {15, egress_scl0_key_at, DsEgressScl0CvlanCosPortHashKey_t, DsEgressScl0CvlanCosPortHashKey_hashType_f, 2, 1},
   {15, egress_scl1_key_at, DsEgressScl1CvlanCosPortHashKey_t, DsEgressScl1CvlanCosPortHashKey_hashType_f, 2, 1},
   {1, eth_oam_rmep_key_at, DsEthOamRmepRmepHashKey_t, 0xFFFF, 1, 1},
   {9, fib_host0_key_at, DsFibHost0Ipv4HashKey_t, DsFibHost0Ipv4HashKey_hashType_f, 1, 1},
   {10, fib_host1_key_at, DsFibHost1Ipv4McastHashKey_t, DsFibHost1Ipv4McastHashKey_hashType_f, 1, 1},
   {7, flow_key_at, DsFlowL2HashKey_t, DsFlowL2HashKey_hashKeyType_f, 2, 0},
   {11, ipfix_key_0_at, DsIpfixL3Ipv4ShortHashKey0_t, DsIpfixL3Ipv4ShortHashKey0_hashKeyType_f, 1, 0},  /*dp*/
   {11, ipfix_key_1_at, DsIpfixL3Ipv4ShortHashKey1_t, DsIpfixL3Ipv4ShortHashKey1_hashKeyType_f, 1, 0},  /*dp*/
   {1, mpls_key_at, DsMplsLabelHashKey_t, 0xFFFF, 1, 1},
   {4, oam_key_at, DsOamBfdHashKey_t, DsOamBfdHashKey_hashType_f, 2, 1},
   {58, user_id0_key_at, DsUserId0CvlanCosPortHashKey_t, DsUserId0CvlanCosPortHashKey_hashType_f, 1, 1},
   {58, user_id1_key_at, DsUserId1CvlanCosPortHashKey_t, DsUserId1CvlanCosPortHashKey_hashType_f, 1, 1},
   {2, x_lookup0_key_at, DsXLookup0HashKey_t, DsXLookup0HashKey_hashType_f, 1, 1},
   {1, x_lookup1_key_at, DsXLookup1HashKey_t, DsXLookup1HashKey_hashType_f, 1, 1},
   {5, x_sec_rx_key_at, DsXSecRxL2BasicHashKey_t, 0xFFFF, 2, 0},
   {4, x_sec_tx_key_at, DsXSecTxL2BasicHashKey_t, 0xFFFF, 2, 0},
};
#else
drv_hash_key_mask_info_t  egress_scl0_key[]= { // KEY
         {
            C_EGRESSSCLHASHTYPE_CVLANCOSPORT,
            DsEgressScl0CvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_CVLANPORT,
            DsEgressScl0CvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_DOUBLEVLANPORT,
            DsEgressScl0DoubleVlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTCROSS,
            DsEgressScl0PortCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORT,
            DsEgressScl0PortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTVLANCROSS,
            DsEgressScl0PortVlanCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANCOSPORT,
            DsEgressScl0SvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORTMAC,
            DsEgressScl0SvlanPortMacHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORT,
            DsEgressScl0SvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVP,
            DsEgressScl0FidDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_VPPAIR,
            DsEgressScl0VpPairHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVPGROUP,
            DsEgressScl0FidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVPGROUP,
            DsEgressScl0MetadataDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_I2ECIDDVPGROUP,
            DsEgressScl0I2eCidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVP,
            DsEgressScl0MetadataDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  egress_scl1_key[]= { // KEY
         {
            C_EGRESSSCLHASHTYPE_CVLANCOSPORT,
            DsEgressScl1CvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_CVLANPORT,
            DsEgressScl1CvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_DOUBLEVLANPORT,
            DsEgressScl1DoubleVlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTCROSS,
            DsEgressScl1PortCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORT,
            DsEgressScl1PortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_PORTVLANCROSS,
            DsEgressScl1PortVlanCrossHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANCOSPORT,
            DsEgressScl1SvlanCosPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORTMAC,
            DsEgressScl1SvlanPortMacHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_SVLANPORT,
            DsEgressScl1SvlanPortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVP,
            DsEgressScl1FidDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_VPPAIR,
            DsEgressScl1VpPairHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_FIDDVPGROUP,
            DsEgressScl1FidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVPGROUP,
            DsEgressScl1MetadataDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_I2ECIDDVPGROUP,
            DsEgressScl1I2eCidDvpGroupHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_EGRESSSCLHASHTYPE_METADATADVP,
            DsEgressScl1MetadataDvpHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  eth_oam_rmep_key[]= { // KEY
         {
            C_ETHOAMRMEPHASHTYPE_RMEP,
            DsEthOamRmepRmepHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0x07,0x00},
         },
      };
drv_hash_key_mask_info_t  fib_host0_key[]= { // KEY
         {
            C_FIBHOST0HASHTYPE_FCOE,
            DsFibHost0FcoeHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F},
         },
         {
            C_FIBHOST0HASHTYPE_IPV4,
            DsFibHost0Ipv4HashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x40},
         },
         {
            C_FIBHOST0HASHTYPE_IPV6MCAST,
            DsFibHost0Ipv6McastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00},
         },
         {
            C_FIBHOST0HASHTYPE_IPV6UCAST,
            DsFibHost0Ipv6UcastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FIBHOST0HASHTYPE_MAC,
            DsFibHost0MacHashKey_t,
            1,
            {0x0F,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FIBHOST0HASHTYPE_TRILL,
            DsFibHost0TrillHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F},
         },
         {
            C_FIBHOST0HASHTYPE_MACIPV6MCAST,
            DsFibHost0MacIpv6McastHashKey_t,
            2,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00},
         },
         {
            C_FIBHOST0HASHTYPE_MACIPV4MCAST,
            DsFibHost0MacIpv4McastHashKey_t,
            1,
            {0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x40},
         },
      };
drv_hash_key_mask_info_t  fib_host1_key[]= { // KEY
         {
            C_FIBHOST1HASHTYPE_FCOERPF,
            DsFibHost1FcoeRpfHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4MCAST,
            DsFibHost1Ipv4McastHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4NATDAPORT,
            DsFibHost1Ipv4NatDaPortHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_FIBHOST1HASHTYPE_IPV4NATSAPORT,
            DsFibHost1Ipv4NatSaPortHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6MCAST,
            DsFibHost1Ipv6McastHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6NATDAPORT,
            DsFibHost1Ipv6NatDaPortHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_FIBHOST1HASHTYPE_IPV6NATSAPORT,
            DsFibHost1Ipv6NatSaPortHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_FIBHOST1HASHTYPE_MACIPV4MCAST,
            DsFibHost1MacIpv4McastHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_FIBHOST1HASHTYPE_MACIPV6MCAST,
            DsFibHost1MacIpv6McastHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_FIBHOST1HASHTYPE_TRILLMCASTVLAN,
            DsFibHost1TrillMcastVlanHashKey_t,
            1,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
      };
drv_hash_key_mask_info_t  flow_key[]= { // KEY
         {
            C_FLOWHASHTYPE_L2,
            DsFlowL2HashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FLOWHASHTYPE_L2L3,
            DsFlowL2L3HashKey_t,
            4,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_FLOWHASHTYPE_L3IPV4,
            DsFlowL3Ipv4HashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FLOWHASHTYPE_L3IPV6,
            DsFlowL3Ipv6HashKey_t,
            4,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_FLOWHASHTYPE_L3MPLS,
            DsFlowL3MplsHashKey_t,
            2,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F},
         },
         {
            C_FLOWHASHTYPE_FLEX,
            DsFlowFlexHashKey_t,
            4,
            {0x07,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
      };
drv_hash_key_mask_info_t  gem_port_key[]= { // KEY
         {
            C_GEMHASHTYPE_PORT,
            DsGemPortHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0x01,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  ipfix_key[]= { // KEY
         {
            C_IPFIXHASHTYPE_L2,
            DsIpfixL2HashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L2L3,
            DsIpfixL2L3HashKey_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4,
            DsIpfixL3Ipv4HashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6,
            DsIpfixL3Ipv6HashKey_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3MPLS,
            DsIpfixL3MplsHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV4SHORT,
            DsIpfixL3Ipv4ShortHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_L3IPV6SHORT,
            DsIpfixL3Ipv6ShortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_UDF,
            DsIpfixUdfHashKey_t,
            4,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
         {
            C_IPFIXHASHTYPE_UDFSHORT,
            DsIpfixUdfShortHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
         },
      };
drv_hash_key_mask_info_t  mpls_key[]= { // KEY
         {
            C_MPLSHASHTYPE_LABEL,
            DsMplsLabelHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0x07},
         },
      };
drv_hash_key_mask_info_t  oam_key[]= { // KEY
         {
            C_OAMHASHTYPE_BFD,
            DsOamBfdHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x03},
         },
         {
            C_OAMHASHTYPE_ETH,
            DsOamEthHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
         },
         {
            C_OAMHASHTYPE_MPLSLABEL,
            DsOamMplsLabelHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_OAMHASHTYPE_MPLSSECTION,
            DsOamMplsSectionHashKey_t,
            2,
            {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
      };
drv_hash_key_mask_info_t  queue_map_key[]= { // KEY
         {
            C_QUEUEMAPHASHTYPE_DSQUEUEMAPHASHKEY,
            DsQueueMapHashKey_t,
            1,
            {0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00},
         },
      };
drv_hash_key_mask_info_t  user_id0_key[]= { // KEY
         {
            C_USERIDHASHTYPE_CVLANCOSPORT,
            DsUserIdCvlanCosPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_CVLANPORT,
            DsUserIdCvlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_DOUBLEVLANPORT,
            DsUserIdDoubleVlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_ECIDNAMESPACE,
            DsUserIdEcidNameSpaceHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_INGECIDNAMESPACE,
            DsUserIdIngEcidNameSpaceHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV4PORT,
            DsUserIdIpv4PortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV4SA,
            DsUserIdIpv4SaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV6PORT,
            DsUserIdIpv6PortHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_IPV6SA,
            DsUserIdIpv6SaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_MAC,
            DsUserIdMacHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_MACPORT,
            DsUserIdMacPortHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_PORT,
            DsUserIdPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2,
            DsUserIdSclFlowL2HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_SVLANCOSPORT,
            DsUserIdSvlanCosPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLAN,
            DsUserIdSvlanHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLANMACSA,
            DsUserIdSvlanMacSaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLANPORT,
            DsUserIdSvlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4DA,
            DsUserIdTunnelIpv4DaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4GREKEY,
            DsUserIdTunnelIpv4GreKeyHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4,
            DsUserIdTunnelIpv4HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCNVGREMODE0,
            DsUserIdTunnelIpv4McNvgreMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCVXLANMODE0,
            DsUserIdTunnelIpv4McVxlanMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4NVGREMODE1,
            DsUserIdTunnelIpv4NvgreMode1HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4RPF,
            DsUserIdTunnelIpv4RpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE0,
            DsUserIdTunnelIpv4UcNvgreMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE1,
            DsUserIdTunnelIpv4UcNvgreMode1HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE0,
            DsUserIdTunnelIpv4UcVxlanMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE1,
            DsUserIdTunnelIpv4UcVxlanMode1HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UDP,
            DsUserIdTunnelIpv4UdpHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4VXLANMODE1,
            DsUserIdTunnelIpv4VxlanMode1HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE0,
            DsUserIdTunnelIpv6McNvgreMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE1,
            DsUserIdTunnelIpv6McNvgreMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE0,
            DsUserIdTunnelIpv6McVxlanMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE1,
            DsUserIdTunnelIpv6McVxlanMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE0,
            DsUserIdTunnelIpv6UcNvgreMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE1,
            DsUserIdTunnelIpv6UcNvgreMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE0,
            DsUserIdTunnelIpv6UcVxlanMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE1,
            DsUserIdTunnelIpv6UcVxlanMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCADJ,
            DsUserIdTunnelTrillMcAdjHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCDECAP,
            DsUserIdTunnelTrillMcDecapHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCRPF,
            DsUserIdTunnelTrillMcRpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCDECAP,
            DsUserIdTunnelTrillUcDecapHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCRPF,
            DsUserIdTunnelTrillUcRpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2UDF,
            DsUserIdSclFlowL2UDFHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL3UDF,
            DsUserIdSclFlowL3UDFHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL2,
            DsUserIdSclFlowPktL2HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL3,
            DsUserIdSclFlowPktL3HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL4,
            DsUserIdSclFlowPktL4HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4CLOUDSEC,
            DsUserIdTunnelIpv4CloudSecHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6CLOUDSEC,
            DsUserIdTunnelIpv6CloudSecHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6,
            DsUserIdTunnelIpv6HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6DA,
            DsUserIdTunnelIpv6DaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6GREKEY,
            DsUserIdTunnelIpv6GreKeyHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_VLANPORTDSCP,
            DsUserIdVlanPortDscpHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV6DA,
            DsUserIdIpv6DaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_IPV4DA,
            DsUserIdIpv4DaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UDP,
            DsUserIdTunnelIpv6UdpHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
      };

drv_hash_key_mask_info_t  user_id1_key[]= { // KEY
         {
            C_USERIDHASHTYPE_CVLANCOSPORT,
            DsUserId1CvlanCosPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_CVLANPORT,
            DsUserId1CvlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_DOUBLEVLANPORT,
            DsUserId1DoubleVlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_ECIDNAMESPACE,
            DsUserId1EcidNameSpaceHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_INGECIDNAMESPACE,
            DsUserId1IngEcidNameSpaceHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV4PORT,
            DsUserId1Ipv4PortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV4SA,
            DsUserId1Ipv4SaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV6PORT,
            DsUserId1Ipv6PortHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_IPV6SA,
            DsUserId1Ipv6SaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_MAC,
            DsUserId1MacHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_MACPORT,
            DsUserId1MacPortHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_PORT,
            DsUserId1PortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2,
            DsUserId1SclFlowL2HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_SVLANCOSPORT,
            DsUserId1SvlanCosPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLAN,
            DsUserId1SvlanHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLANMACSA,
            DsUserId1SvlanMacSaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SVLANPORT,
            DsUserId1SvlanPortHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4DA,
            DsUserId1TunnelIpv4DaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4GREKEY,
            DsUserId1TunnelIpv4GreKeyHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4,
            DsUserId1TunnelIpv4HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCNVGREMODE0,
            DsUserId1TunnelIpv4McNvgreMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4MCVXLANMODE0,
            DsUserId1TunnelIpv4McVxlanMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4NVGREMODE1,
            DsUserId1TunnelIpv4NvgreMode1HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4RPF,
            DsUserId1TunnelIpv4RpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE0,
            DsUserId1TunnelIpv4UcNvgreMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCNVGREMODE1,
            DsUserId1TunnelIpv4UcNvgreMode1HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE0,
            DsUserId1TunnelIpv4UcVxlanMode0HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UCVXLANMODE1,
            DsUserId1TunnelIpv4UcVxlanMode1HashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4UDP,
            DsUserId1TunnelIpv4UdpHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4VXLANMODE1,
            DsUserId1TunnelIpv4VxlanMode1HashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE0,
            DsUserId1TunnelIpv6McNvgreMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCNVGREMODE1,
            DsUserId1TunnelIpv6McNvgreMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE0,
            DsUserId1TunnelIpv6McVxlanMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6MCVXLANMODE1,
            DsUserId1TunnelIpv6McVxlanMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE0,
            DsUserId1TunnelIpv6UcNvgreMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCNVGREMODE1,
            DsUserId1TunnelIpv6UcNvgreMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE0,
            DsUserId1TunnelIpv6UcVxlanMode0HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UCVXLANMODE1,
            DsUserId1TunnelIpv6UcVxlanMode1HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCADJ,
            DsUserId1TunnelTrillMcAdjHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCDECAP,
            DsUserId1TunnelTrillMcDecapHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLMCRPF,
            DsUserId1TunnelTrillMcRpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCDECAP,
            DsUserId1TunnelTrillUcDecapHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELTRILLUCRPF,
            DsUserId1TunnelTrillUcRpfHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL2UDF,
            DsUserId1SclFlowL2UDFHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWL3UDF,
            DsUserId1SclFlowL3UDFHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL2,
            DsUserId1SclFlowPktL2HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL3,
            DsUserId1SclFlowPktL3HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_SCLFLOWPKTL4,
            DsUserId1SclFlowPktL4HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV4CLOUDSEC,
            DsUserId1TunnelIpv4CloudSecHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6CLOUDSEC,
            DsUserId1TunnelIpv6CloudSecHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6,
            DsUserId1TunnelIpv6HashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6DA,
            DsUserId1TunnelIpv6DaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6GREKEY,
            DsUserId1TunnelIpv6GreKeyHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_VLANPORTDSCP,
            DsUserId1VlanPortDscpHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_TUNNELIPV6UDP,
            DsUserId1TunnelIpv6UdpHashKey_t,
            4,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F},
         },
         {
            C_USERIDHASHTYPE_IPV4DA,
            DsUserId1Ipv4DaHashKey_t,
            1,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F},
         },
         {
            C_USERIDHASHTYPE_IPV6DA,
            DsUserId1Ipv6DaHashKey_t,
            2,
            {0x7F,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03},
         },
      };

drv_hash_key_mask_info_t  cid_map_key[]= { // KEY
         {
            0,
            DsCategoryIdPairHashLeftKey_t,
            1,
            {0x80,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00},
         },
      };

drv_hash_db_t drv_hash_db[] ={
   {15, egress_scl0_key, DsEgressScl0CvlanCosPortHashKey_t, DsEgressScl0CvlanCosPortHashKey_hashType_f, 2, 1},
   {15, egress_scl1_key, DsEgressScl1CvlanCosPortHashKey_t, DsEgressScl1CvlanCosPortHashKey_hashType_f, 2, 1},
   {1, eth_oam_rmep_key, DsEthOamRmepRmepHashKey_t, 0xFFFF, 1, 1},
   {8, fib_host0_key, DsFibHost0Ipv4HashKey_t, DsFibHost0Ipv4HashKey_hashType_f, 1, 1},
   {10, fib_host1_key, DsFibHost1Ipv4McastHashKey_t, DsFibHost1Ipv4McastHashKey_hashType_f, 1, 1},
   {6, flow_key, DsFlowL2HashKey_t, DsFlowL2HashKey_hashKeyType_f, 2, 0},
   {1, gem_port_key, DsGemPortHashKey_t, 0xFFFF, 1, 1},
   {9, ipfix_key, DsIpfixL3Ipv4ShortHashKey_t, DsIpfixL3Ipv4ShortHashKey_hashKeyType_f, 1, 0},
   {1, mpls_key, DsMplsLabelHashKey_t, 0xFFFF, 1, 1},
   {4, oam_key, DsOamBfdHashKey_t, DsOamBfdHashKey_hashType_f, 2, 1},
   {1, queue_map_key, DsQueueMapHashKey_t, 0xFFFF, 1, 1},
   {57, user_id0_key, DsUserId0CvlanCosPortHashKey_t, DsUserId0CvlanCosPortHashKey_hashType_f, 1, 1},
   {57, user_id1_key, DsUserId1CvlanCosPortHashKey_t, DsUserId1CvlanCosPortHashKey_hashType_f, 1, 1},
   {1, cid_map_key, DsCategoryIdPairHashLeftKey_t, 0xFFFF, 1, 0},
};
#endif
int32
drv_usw_key_mask(uint8* in, uint8* out, uint8* mask, uint32 byte_num)
{
    int32 ret = 0;
    uint32 i = 0;
    for (i = 0; i < byte_num; i++)
    {
        out[i] = in[i] & mask[i];
    }

    return ret;
}

int32
drv_usw_hash_get_key_info_index(uint8 module, drv_acc_in_t* acc_in, uint8 *p_index)
{
    uint8 i = 0;   
    for (i = 0;  i < drv_hash_db[module].key_num; i++)
    {
        if (drv_hash_db[module].key_mask_ad[i].key_table_id == acc_in->tbl_id)
        {
            break;
        }
    }
    if ((module >= HASH_MODULE_NUM) || (i == drv_hash_db[module].key_num))
    {
        return DRV_E_INVALID_TBL;
    }
    *p_index = i;
    return DRV_E_NONE;
}


/* for host1/xcoam/flow/userid acc*/
int32
drv_usw_acc_mem_module_hash(uint8 lchip, uint8 hash_module, drv_acc_in_t* acc_in, drv_acc_out_t* acc_out)
{
    uint32 write_data[20] = { 0 };
    uint32 key_index = 0;
    int32  ret = 0;
    uint32 length = 0;
    uint32 data_rd[20] = { 0 };
    uint32 key_data_in[20] = { 0 };
    uint32 key_data_rd[20] = { 0 };
    uint8  module = 0;
    uint8  key_info_index = 0;
    uint32 index = 0;
    uint32 *data_in = NULL;
    uint8* key_mask = NULL;
    uint8  entry_size = 0;           
    uint8  key_valid = 0;
    uint32 hash_valid = 0;
    #ifdef ARCTIC
    uint8  drv_hash_module[DRV_ACC_HASH_MODULE_NUM][2] = 
        {  {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST1, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_FLOW, HASH_MODULE_NUM},
           {HASH_MODULE_USERID, HASH_MODULE_USERID1},
           {HASH_MODULE_EGRESS_SCL0,HASH_MODULE_EGRESS_SCL1},
           {HASH_MODULE_OAM, HASH_MODULE_NUM},
           {HASH_MODULE_RMEP, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_EGRESS_IPFIX, HASH_MODULE_NUM},
           {HASH_MODULE_CID, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_MPLS, HASH_MODULE_NUM},
           {HASH_MODULE_GEMPORT, HASH_MODULE_NUM},
           {HASH_MODULE_QUEUEMAP, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_XLOOKUP0, HASH_MODULE_XLOOKUP1},
        };
    #else
    uint8  drv_hash_module[DRV_ACC_HASH_MODULE_NUM][2] = 
        {  {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST1, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_FLOW, HASH_MODULE_NUM},
           {HASH_MODULE_USERID, HASH_MODULE_USERID1},
           {HASH_MODULE_EGRESS_SCL0,HASH_MODULE_EGRESS_SCL1},
           {HASH_MODULE_OAM, HASH_MODULE_NUM},
           {HASH_MODULE_RMEP, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_CID, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_MPLS, HASH_MODULE_NUM},
           {HASH_MODULE_GEMPORT, HASH_MODULE_NUM},
           {HASH_MODULE_QUEUEMAP, HASH_MODULE_NUM},
           {HASH_MODULE_FIB_HOST0, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
           {HASH_MODULE_NUM, HASH_MODULE_NUM},
        };
    #endif

    if(HASH_MODULE_NUM == drv_hash_module[hash_module][acc_in->level] ||
        ((acc_in->op_type == DRV_ACC_OP_BY_INDEX) && !hash_module && acc_in->index >= TABLE_MAX_INDEX(lchip, acc_in->tbl_id)))
    {
        return ret;
    }

    length = TABLE_ENTRY_SIZE(lchip, acc_in->tbl_id);
    data_in = write_data;
    module = drv_hash_module[hash_module][acc_in->level];
    /*1. prepare data in (set valid and hash_type)*/
    if (acc_in->op_type == DRV_ACC_OP_BY_KEY || acc_in->type == DRV_ACC_TYPE_ADD)
    {
        sal_memcpy((uint8*)data_in, (uint8*)acc_in->data, length);
        drv_usw_hash_get_key_info_index(module, acc_in, &key_info_index);
        entry_size = drv_hash_db[module].key_mask_ad[key_info_index].align_unit;
        for(index = 0; index < entry_size; index = index + drv_hash_db[module].min_unit)
        {
            if(drv_hash_db[module].hash_valid_field)
            {
                SetDsFibHost1Ipv4McastHashKey(V, valid_f, (data_in + index*3), 1); 
            }
            drv_set_field(lchip, drv_hash_db[module].hash_type_table_id,  drv_hash_db[module].hash_type_field_id, 
                         (data_in + index*3), &drv_hash_db[module].key_mask_ad[key_info_index].hash_type);
        }
    }

    /*2. caculate key_index and compare*/
    if (acc_in->op_type == DRV_ACC_OP_BY_KEY)
    {   
        key_mask = drv_hash_db[module].key_mask_ad[key_info_index].mask;
        drv_usw_key_mask((uint8*)data_in, (uint8*)key_data_in, key_mask, length);
        key_index = drv_usw_hash_caculate(length, key_data_in);
        key_index = (key_index % TABLE_MAX_INDEX(lchip, acc_in->tbl_id))/entry_size*entry_size;
    }
    else if (acc_in->op_type == DRV_ACC_OP_BY_INDEX)
    {
        key_index = acc_in->index;
    }

    /*3. lookup and compare*/
    if (acc_in->op_type == DRV_ACC_OP_BY_KEY || acc_in->type == DRV_ACC_TYPE_LOOKUP)
    {
        DRV_APP_TBL_IOR(lchip, acc_in->tbl_id, key_index, data_rd, acc_in->oper_bmp);
    }
    if (acc_in->op_type == DRV_ACC_OP_BY_KEY)
    {
        drv_usw_key_mask((uint8*)data_rd, (uint8*)key_data_rd, key_mask, length);
        for(index = 0; index < entry_size; index = index + drv_hash_db[module].min_unit)
        {
            hash_valid = (module == HASH_MODULE_CID) ? GetDsCategoryIdPairHashLeftKey(V, array_0_valid_f, (data_rd + index*3))
                         : GetDsFibHost1Ipv4McastHashKey(V, valid_f, (data_rd + index*3));
            key_valid |= (hash_valid << index);
        }
        if (key_valid)
        {
            if (sal_memcmp((uint8*)key_data_in, (uint8*)key_data_rd, length))
            {
                acc_out->is_conflict = 1;
                return ret;
            }
            else
            {
                acc_out->is_hit = 1;
            }
        }
    }    

    /*4. write and get data*/
    if ((acc_in->type == DRV_ACC_TYPE_DEL) ||(acc_in->type == DRV_ACC_TYPE_FLUSH_FLEX))
    {
        sal_memset((uint8*)data_in, 0, length);
    }
    else if(acc_in->type == DRV_ACC_TYPE_ALLOC)
    {
        sal_memset((uint8*)data_in, 0xFF, length);
    }  

    if (acc_in->type == DRV_ACC_TYPE_LOOKUP)
    {
        data_in = data_rd;
        sal_memcpy((uint8*)acc_out->data, (uint8*)data_in, length);
        if(module == HASH_MODULE_FIB_HOST0)
        {
            acc_out->ad_index = GetDsFibHost0Ipv4HashKey(V, dsAdIndex_f, data_in);
        }
    }
    else if (!((acc_in->type == DRV_ACC_TYPE_ALLOC) && key_valid))
    {
        DRV_APP_TBL_IOW(lchip, acc_in->tbl_id, key_index, data_in, acc_in->oper_bmp); 
    }

    if ((acc_in->op_type == DRV_ACC_OP_BY_ALL) && (acc_in->type == DRV_ACC_TYPE_FLUSH_FLEX))
    {
        for (index = 0; index < TABLE_MAX_INDEX(lchip, acc_in->tbl_id); index++)
        {
            DRV_APP_TBL_IOW(lchip,acc_in->tbl_id,index,data_in, acc_in->oper_bmp); 
        }
    } 
    
    if (acc_in->type == DRV_ACC_TYPE_FLUSH_FLEX || acc_in->type == DRV_ACC_TYPE_FLUSH)
    {
        acc_out->is_end = 1;
    }
    
    if (acc_in->type == DRV_ACC_TYPE_FLUSH_FLEX || acc_in->type == DRV_ACC_TYPE_FLUSH)
    {
        acc_out->is_end = 1;
    }
    
    acc_out->key_index = key_index;
    acc_out->is_left = 1;

    
    return ret;
}
int32
drv_usw_mem_model_read(uint8 lchip, uint32 index, uint32 cmd, uint8 oper_bmp, uint32* data)
{
    uint32 tbl_id = 0;
    uint32 index_drv = 0;
    uint32 tbl_len = 0;
    uint32 local_max_index = 0;

    tbl_id = DRV_IOC_MEMID(cmd);
    
    /* check if the index num exceed the max index num of the tbl */
    local_max_index = TABLE_MAX_INDEX(lchip, tbl_id) / TABLE_ADDR_NUM(lchip, tbl_id);
    index_drv = (index >>24) * local_max_index + (index & 0xFFFFFF);
    if (index_drv >= TABLE_MAX_INDEX(lchip, tbl_id))
    {
        DRV_DBG_INFO("\nERROR! Index-0x%x exceeds the max_index 0x%x! TblID: %d, Name:%s\n",
                     index_drv, TABLE_MAX_INDEX(lchip, tbl_id) , tbl_id, TABLE_NAME(lchip, tbl_id));
        return DRV_E_INVALID_INDEX;
    }
    
    if (DRV_SDB_DB(lchip) && DRV_SDB_ADDR_BASE(tbl_id))
    {
        if (TABLE_EXT_INFO_PTR(lchip, tbl_id) && TABLE_EXT_INFO_TYPE(lchip, tbl_id) == DRV_TABLE_TYPE_DYNAMIC)
        {
            tbl_len = DYNAMIC_TABLE_UNIT_SIZE(lchip, tbl_id);
        }
        else
        {
            tbl_len = TABLE_INFO(lchip, tbl_id).tcam_mem ? TABLE_ENTRY_OFFSET(lchip, tbl_id): TABLE_ENTRY_SIZE(lchip, tbl_id);
        }
        sal_memcpy(data, (uint8*)drv_sdb_read(lchip, tbl_id, index_drv, tbl_len, oper_bmp), TABLE_ENTRY_SIZE(lchip, tbl_id));
    }
    else
    {
        sal_memset(data, 0, TABLE_ENTRY_SIZE(lchip, tbl_id));
    }

    return DRV_E_NONE;
}

int32
drv_usw_mem_model_write(uint8 lchip, uint32 index, uint32 cmd, uint8 oper_bmp, uint32* data)
{
    int32 ret = DRV_E_NONE;
    uint32 index_drv = 0;
    uint32 tbl_id = 0;
    uint32 tbl_len = 0;
    uint32 local_max_index = 0;

#ifdef WARMBOOT
   if(p_drv_master[lchip]->wb_status == DRV_WB_STATUS_RELOADING)
    {
        return DRV_E_NONE;
    }
#endif
    tbl_id = DRV_IOC_MEMID(cmd);

    /* check if the index num exceed the max index num of the tbl */
    local_max_index = TABLE_MAX_INDEX(lchip, tbl_id) / TABLE_ADDR_NUM(lchip, tbl_id);
    index_drv = (index >>24) * local_max_index + (index & 0xFFFFFF);
    if (index_drv >= TABLE_MAX_INDEX(lchip, tbl_id))
    {
        DRV_DBG_INFO("\nERROR! Index-0x%x exceeds the max_index 0x%x! TblID: %d, Name:%s\n",
                     index_drv, TABLE_MAX_INDEX(lchip, tbl_id) , tbl_id, TABLE_NAME(lchip, tbl_id));
        return DRV_E_INVALID_INDEX;
    }

    if (DRV_SDB_DB(lchip) && DRV_SDB_ADDR_BASE(tbl_id))
    {
        if (TABLE_EXT_INFO_PTR(lchip, tbl_id) && TABLE_EXT_INFO_TYPE(lchip, tbl_id) == DRV_TABLE_TYPE_DYNAMIC)
        {
            tbl_len = DYNAMIC_TABLE_UNIT_SIZE(lchip, tbl_id);
        }
        else
        {
            tbl_len = TABLE_INFO(lchip, tbl_id).tcam_mem? TABLE_ENTRY_OFFSET(lchip, tbl_id): TABLE_ENTRY_SIZE(lchip, tbl_id);
        }
        ret = DRV_MCHIP_SDB_API(lchip)->drv_sdb_write_api(lchip, tbl_id, index_drv, data, tbl_len, oper_bmp);
    }

    return ret;
}

int32
drv_usw_mem_model_read_tcam(uint8 lchip, uint32 index, uint32 cmd, uint8 oper_bmp, uint32* data)
{
    drv_io_tcam_db_t* p_db = NULL;
    tbl_entry_t *entry = (tbl_entry_t *)data;
    uint32 *p_mask = NULL;
    uint32 *p_data = NULL;
    uint32 tbl_id = 0;
    uint32 local_idx = 0;
    uint32 blknum = 0;
    int32 ret = DRV_E_NONE;
    uint8 entry_idx = 0;
    uint8 entry_num_each_idx = 0;
    uint8 tbl_words = 0;
    uint8 loop = 0;

if (!DRV_SDB_DB(lchip))
{
    return 0;
}
    tbl_id = DRV_IOC_MEMID(cmd);
    if (TABLE_MAX_INDEX(lchip, tbl_id) <= index)
    {
        DRV_DBG_INFO("ERROR! (drv_usw_chip_tcam_tbl_read): chip-0x%x, tbl-0x%x, index-0x%x exceeds the max_index-0x%x.\n",
                    lchip, tbl_id, index, TABLE_MAX_INDEX(lchip, tbl_id));
        return DRV_E_INVALID_TBL;
    }
    p_db = &p_drv_master[lchip]->drv_io_tcam_db[TCAM_KEY_DRV_TYPE(lchip, tbl_id)];

    entry_num_each_idx = TCAM_KEY_SIZE(lchip, tbl_id)/p_db->tbl_size;
    p_db->drv_tcam_get_block_info(lchip, tbl_id, index*entry_num_each_idx, &blknum, &local_idx);
    tbl_words = p_db->tbl_size >> 2;
    do
    {
       p_data = drv_sdb_read(lchip, p_db->tcam_mem_tbl_id, ((blknum << p_db->blk_shift) | local_idx), TABLE_ENTRY_OFFSET(lchip, p_db->tcam_mem_tbl_id), oper_bmp);
       p_mask = (uint32*)p_data + tbl_words;
       loop = 0;
        do
        {
           entry->data_entry[entry_idx * tbl_words + loop]  =  p_data[loop];
           entry->mask_entry[entry_idx * tbl_words + loop] = p_mask[loop];
           loop++;
        }while(loop <tbl_words);
        local_idx++;
        entry_idx++;
    }while(entry_idx <  entry_num_each_idx);

    return ret;
}

int32
drv_usw_mem_model_write_tcam(uint8 lchip, uint32 index, uint32 cmd, uint8 oper_bmp, uint32* data)
{
    drv_io_tcam_db_t* p_db = NULL;
    tbl_entry_t *entry = (tbl_entry_t *)data;
    uint32 tbl_id = 0;
    uint32 local_idx = 0;
    uint32 blknum = 0;
    int32 ret = 0;
    uint8 ds[64] = {0};
    uint8 entry_idx = 0;
    uint8 entry_num_each_idx = 0;
    uint8 tcam_type = 0;

   if (!DRV_SDB_DB(lchip))
   {
       return 0;
   }

#ifdef WARMBOOT
   if(p_drv_master[lchip]->wb_status == DRV_WB_STATUS_RELOADING)
    {
        return DRV_E_NONE;
    }
#endif
    tbl_id = DRV_IOC_MEMID(cmd);
    if (TABLE_MAX_INDEX(lchip, tbl_id) <= index)
    {
        DRV_DBG_INFO("ERROR! (drv_usw_chip_tcam_tbl_read): chip-0x%x, tbl-0x%x, index-0x%x exceeds the max_index-0x%x.\n",
                    lchip, tbl_id, index, TABLE_MAX_INDEX(lchip, tbl_id));
        return DRV_E_INVALID_TBL;
    }

    tcam_type = TCAM_KEY_DRV_TYPE(lchip, tbl_id);
    p_db = &p_drv_master[lchip]->drv_io_tcam_db[tcam_type];

    entry_num_each_idx = TCAM_KEY_SIZE(lchip, tbl_id)/p_db->tbl_size;
    p_db->drv_tcam_get_block_info(lchip, tbl_id, index*entry_num_each_idx, &blknum, &local_idx);

    do
    {
        sal_memcpy(ds, (uint8*)entry->data_entry + entry_idx*p_db->tbl_size, p_db->tbl_size);
        sal_memcpy(ds + p_db->tbl_size, (uint8*)entry->mask_entry + entry_idx*p_db->tbl_size, p_db->tbl_size);
        drv_set_field32(lchip, p_db->tcam_mem_tbl_id, p_db->tcam_mem_fld_id, (uint32*)ds, 1);
        ret = DRV_MCHIP_SDB_API(lchip)->drv_sdb_write_api(lchip, p_db->tcam_mem_tbl_id, ((blknum << p_db->blk_shift) | local_idx), ds, TABLE_ENTRY_OFFSET(lchip, p_db->tcam_mem_tbl_id), oper_bmp);
        local_idx++;
        entry_idx++;
    }while(entry_idx < entry_num_each_idx);
    
    return ret;
}

int32
drv_usw_mem_model_remove_tcam(uint8 lchip, uint32 index, uint32 cmd, uint8 oper_bmp, uint32* data)
{
    drv_io_tcam_db_t* p_db = NULL;
    uint32 tbl_id = 0;
    uint32 local_idx = 0;
    uint32 blknum = 0;
    int32 ret = 0;
    uint8 ds[64] = {0};
    uint8 entry_idx = 0;
    uint8 entry_num_each_idx = 0;
    uint8 tcam_type = 0;

if (!DRV_SDB_DB(lchip))
{
    return 0;
}
#ifdef WARMBOOT
   if(p_drv_master[lchip]->wb_status == DRV_WB_STATUS_RELOADING)
    {
        return DRV_E_NONE;
    }
#endif
    tbl_id = DRV_IOC_MEMID(cmd);
    if (TABLE_MAX_INDEX(lchip, tbl_id) <= index)
    {
        DRV_DBG_INFO("ERROR! (drv_usw_chip_tcam_tbl_read): chip-0x%x, tbl-0x%x, index-0x%x exceeds the max_index-0x%x.\n",
                    lchip, tbl_id, index, TABLE_MAX_INDEX(lchip, tbl_id));
        return DRV_E_INVALID_TBL;
    }

    tcam_type = TCAM_KEY_DRV_TYPE(lchip, tbl_id);
    p_db = &p_drv_master[lchip]->drv_io_tcam_db[tcam_type];

    entry_num_each_idx = TCAM_KEY_SIZE(lchip, tbl_id)/p_db->tbl_size;
    p_db->drv_tcam_get_block_info(lchip, tbl_id, index*entry_num_each_idx, &blknum, &local_idx);

    do
    {
        ret = DRV_MCHIP_SDB_API(lchip)->drv_sdb_write_api(lchip, p_db->tcam_mem_tbl_id, ((blknum << p_db->blk_shift) | local_idx), ds, TABLE_ENTRY_OFFSET(lchip, p_db->tcam_mem_tbl_id), oper_bmp);
        local_idx++;
        entry_idx++;
    }while(entry_idx < entry_num_each_idx);

    return ret;
}

int32
drv_usw_mem_module_read_hss(uint8 lchip, uint32 grp_id, uint32 addr, void* p_data)
{
    return 0;
}

int32
drv_usw_mem_module_write_hss(uint8 lchip, uint32 grp_id, uint32 addr, void* data)
{
    return 0;
}

int32
drv_usw_mem_module_write_addr(uint8 lchip, uint64 offset, uint32 len, uint32* data)
{
    return 0;
}

int32
drv_usw_mem_module_read_addr(uint8 lchip, uint64 offset, uint32 len, uint32* data)
{
    return 0;
}

int32
drv_usw_mem_module_read_hss28g(uint8 lchip, uint8 hssid, uint32 addr, uint16* p_data)
{
    return 0;
}

int32
drv_usw_mem_module_write_hss28g(uint8 lchip, uint8 hssid, uint32 addr, uint16 data)
{
    return 0;
}

int32
drv_usw_mem_module_init(uint8 lchip)
{
    uint8 index = 0;
    for(index = 0; index < DRV_ACC_HASH_MODULE_NUM; index++)
    {
        p_drv_master[lchip]->drv_acc_cb[index] = drv_usw_acc_mem_module_hash;
    }

    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_NORMAL][DRV_IOC_READ] = drv_usw_mem_model_read;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_NORMAL][DRV_IOC_WRITE] = drv_usw_mem_model_write;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN][DRV_IOC_READ] = drv_usw_mem_model_read;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN][DRV_IOC_WRITE] = drv_usw_mem_model_write;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN_MASK][DRV_IOC_READ] = drv_usw_mem_model_read;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN_MASK][DRV_IOC_WRITE] = drv_usw_mem_model_write;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN_LPM][DRV_IOC_READ] = drv_usw_mem_model_read;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_DYN_LPM][DRV_IOC_WRITE] = drv_usw_mem_model_write;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_TCAM][DRV_IOC_READ] = drv_usw_mem_model_read_tcam;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_TCAM][DRV_IOC_WRITE] = drv_usw_mem_model_write_tcam;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_TCAM][DRV_IOC_REMOVE] = drv_usw_mem_model_remove_tcam;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_HOOK][DRV_IOC_READ] = drv_usw_mem_model_read;
    p_drv_master[lchip]->ioctl_cb[DRV_TBL_TYPE_HOOK][DRV_IOC_WRITE] = drv_usw_mem_model_write;

    p_drv_master[lchip]->drv_chip_read_hss = drv_usw_mem_module_read_hss;
    p_drv_master[lchip]->drv_chip_write_hss = drv_usw_mem_module_write_hss;
    p_drv_master[lchip]->drv_chip_read_hss28g = drv_usw_mem_module_read_hss28g;
    p_drv_master[lchip]->drv_chip_write_hss28g = drv_usw_mem_module_write_hss28g;

    p_drv_master[lchip]->drv_chip_write = drv_usw_mem_module_write_addr;
    p_drv_master[lchip]->drv_chip_read = drv_usw_mem_module_read_addr;

    return DRV_E_NONE;    
}


#endif
 
